/**
 * 物品类
 * 所有可以装入物品栏的东西都是物品
 * 物品可以是：
 * 1 物块
 * @see {GoodsTypes.CUBE}
 *
 * 2 装备
 * @see {GoodsTypes.EQUIPMENT}
 *
 * 3 光源
 * @see {GoodsTypes.LIGHT}
 */
import {GoodsTypes} from "../enums/enum";

export class Goods {

  /**
   *
   * @type {GoodsTypeEnum}
   */
  type = GoodsTypes.CUBE
  /**
   * 装备名
   * @type {string}
   */
  name

  /**
   * 物品id
   * @type {number}
   */
  code

  /**
   * 对应的贴图
   * @type {HTMLImageElement}
   */
  img

  /**
   *
   * @param event {TerrariaClickEvent}
   */
  onclick = (event)=>console.error("please implements onclick !")

  constructor(obj) {
    this.code = obj.code
    this.img = new Image()
    this.img.src = obj.img
    this.name = obj.name
  }

  load = ()=>new Promise(resolve => this.img.onload = resolve)
}